"""
写一个产生双色球号码的程序，输入几条，就产生几条双色球，存到文件里面，每批产生的数据不能重复
        7个号码
        红色球：1-33 6个
        蓝色球：1-16 1个
        range(1,34)
        #01 02 03 04 05 06
"""
import random

# 数字转化 01 02 03
def get_str(num):
    num = str(num)
    if len(num) == 1:
        num = '0' + num
    return num

# 写入文件的方法
def write_file(filename, content):
    with open(filename, 'a') as fw:
        fw.write(content)

# 红球:1-33 6个，篮球1-16 1个，获取红+蓝组合
def get_seven():
    # 获取红色球6个
    red_ball = range(1, 34)
    red_list = random.sample(red_ball, 6)
    # 获取蓝色球1个
    blue_ball = range(1, 17)
    blue_list = random.sample(blue_ball, 1)
    # print(red_list, blue_list)
    # 红色球和蓝色球组合
    red_list.append(blue_list)
    # print(red_list)
    # 组合成新的list，将小于10的数字转换成0X
    seven_list = []
    for i in red_list:
        d = get_str(i)
        seven_list.append(d)
    # print(seven_list)
    return seven_list

# 检查列表数据是否重复，并输出写入文件num.txt中
def output_seven():
    num = input("请输入要产生双色球数据条数")
    new_list = []
    for i in range(0, int(num) + 1):
        list1 = get_seven()
        if i == 0:
            new_list = list1
        else:
            while 1:
                if new_list != list1:
                    print(new_list)
                    write_file('num.txt', (str(new_list) + ','))
                    new_list = list1
                    break
                else:
                    list1 = get_seven()


if __name__ == '__main__':
    output_seven()
